home *** CD-ROM | disk | FTP | other *** search
/ Shareware Extravaganza - Disc 1 / ShareWare Extravaganza 1 of 4 (The Ultimate Shareware Company).iso / sblaster / tpu60b.zip / TPU6UNA.INC < prev    next >
Text File  |  1991-04-16  |  41KB  |  763 lines

  1.  
  2. CONST                                                         {.CP08}
  3.     { ------------------------------------------- }
  4.     { Named Values for Bit Flags in RECORD CpuVec }
  5.     { ------------------------------------------- }
  6.  
  7.     _386Xtnsn = $80; _32BitMax = $40; _16BitMin = $20;
  8.     _SignXtnd = $10; _MODrmFld = $08;
  9.  
  10.     O0 = Ord(C086); O1 = Ord(C186); O2 = Ord(C286); O3 = Ord(C386);
  11.  
  12.   Mnem386 : ARRAY[1..170] OF STRING[6] = (        {.CP32}
  13.  
  14.     {001}  'AAA',    'AAD',    'AAM',    'AAS',    'ADC',    'ADD',
  15.     {007}  'AND',     'ARPL',   'BOUND',  'BSF',    'BSR',     'BT',
  16.     {013}  'BTC',     'BTR',       'BTS',    'CALL',   'CBW',     'CWDE',
  17.     {019}  'CLC',     'CLD',       'CLI',    'CLTS',   'CMC',     'CMP',
  18.     {025}  'CMPSB',     'CMPSW',  'CMPSD',  'CWD',    'CDQ',     'DAA',
  19.     {031}  'DAS',     'DEC',       'DIV',    'ENTER',  'HLT',     'IDIV',
  20.     {037}  'IMUL',     'IN',       'INC',    'INSB',   'INSW',     'INSD',
  21.     {043}  'INT',     'INTO',   'IRET',   'JB',     'JBE',     'JCXZ',
  22.     {049}  'JECXZ',     'JLE',       'JMP',    'JNB',    'JNBE',     'JNL',
  23.     {055}  'JNLE',     'JNO',       'JNP',    'JNS',    'JNZ',     'JO',
  24.     {061}  'JP',     'JS',       'JZ',     'LAHF',   'LAR',     'LDS',
  25.     {067}  'LEA',     'LEAVE',  'LES',    'LFS',    'LGDT',     'LGS',
  26.     {073}  'LIDT',     'LLDT',   'LMSW',   'LOCK',   'LODSB',     'LODSW',
  27.     {079}  'LODSD',     'LOOP',   'LOOPE',  'LOOPNE', 'LSL',     'LSS',
  28.     {085}  'LTR',     'MOV',       'MOVSB',  'MOVSW',  'MOVSD',     'MOVSX',
  29.     {091}  'MOVZX',     'MUL',       'NEG',    'NOP',    'NOT',     'OR',
  30.     {097}  'OUT',     'OUTSB',  'OUTSW',  'OUTSD',  'POP',     'POPA',
  31.     {103}  'POPAD',     'POPF',   'POPFD',  'PUSH',   'PUSHA',     'PUSHAD',
  32.     {109}  'PUSHF',     'PUSHFD', 'RCL',    'RCR',    'REP',     'REPNE',
  33.     {115}  'RET',     'RETF',   'ROL',    'ROR',    'SAHF',     'SAR',
  34.     {121}  'SBB',     'SCASB',  'SCASW',  'SCASD',  'SEGCS',     'SEGDS',
  35.     {127}  'SEGES',     'SEGFS',  'SEGGS',  'SEGSS',  'SETB',     'SETBE',
  36.     {133}  'SETL',     'SETLE',  'SETNB',  'SETNBE', 'SETNL',     'SETNLE',
  37.     {139}  'SETNO',     'SETNP',  'SETNS',  'SETNZ',  'SETO',     'SETP',
  38.     {145}  'SETS',     'SETZ',   'SGDT',   'SHL',    'SHLD',     'SHR',
  39.     {151}  'SHRD',   'SIDT',   'SLDT',   'SMSW',   'STC',     'STD',
  40.     {157}  'STI',    'STOSB',  'STOSW',  'STOSD',  'STR',     'SUB',
  41.     {163}  'TEST',     'VERR',   'VERW',   'WAIT',   'XCHG',     'XLATB',
  42.     {169}  'XOR',     'JL');
  43.  
  44.  
  45.    Mnem387 : ARRAY[1..76] OF STRING[7] = (            {.CP15}
  46.  
  47.     {01}  'F2XM1',  'FABS',   'FADD',   'FADDP',   'FBLD',   'FBSTP',
  48.     {07}  'FCHS',   'FCLEX',  'FCOM',   'FCOMP',   'FCOMPP', 'FCOS',
  49.     {13}  'FDECSTP','FDISI',  'FDIV',   'FDIVP',   'FDIVR',  'FDIVRP',
  50.     {19}  'FENI',   'FFREE',  'FIADD',  'FICOM',   'FICOMP', 'FIDIV',
  51.     {25}  'FIDIVR', 'FILD',   'FIMUL',  'FINCSTP', 'FINIT',  'FIST',
  52.     {31}  'FISTP',  'FISUB',  'FISUBR', 'FLD',     'FLD1',   'FLDCW',
  53.     {37}  'FLDENV', 'FLDG2',  'FLDL2E', 'FLDL2T',  'FLDN2',  'FLDPI',
  54.     {43}  'FLDZ',   'FMUL',   'FMULP',  'FNOP',    'FPATAN', 'FPREM',
  55.     {49}  'FPREM1', 'FPTAN',  'FRNDINT','FRSTOR',  'FSAVE',  'FSCALE',
  56.     {55}  'FSETPM', 'FSIN',   'FSINCOS','FSQRT',   'FST',    'FSTCW',
  57.     {61}  'FSTENV', 'FSTP',   'FSTSW',  'FSUB',    'FSUBP',  'FSUBR',
  58.     {67}  'FSUBRP', 'FTST',   'FUCOM',  'FUCOMP',  'FUCOMPP','FXAM',
  59.     {73}  'FXCH',   'FXTRACT','FYL2X',  'FYL2XP1');
  60.  
  61.  
  62.     { -------------------------------------------------- }    {.CP37}
  63.     { 386 Operations With One-Byte Op-Codes Handled Next }
  64.     { -------------------------------------------------- }
  65.  
  66.   GateLvl1 : ARRAY[0..255] of Gating = (
  67.  
  68.     {00}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  69.     {08}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_0Fx,
  70.     {10}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  71.     {18}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  72.     {20}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Pfx, G_Hit,
  73.     {28}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Pfx, G_Hit,
  74.     {30}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Pfx, G_Hit,
  75.     {38}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Pfx, G_Hit,
  76.     {40}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  77.     {48}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  78.     {50}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  79.     {58}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  80.     {60}    G_Hit, G_Hit, G_Hit, G_Hit, G_Pfx, G_Pfx, G_Pfx, G_Pfx,
  81.     {68}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  82.     {70}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  83.     {78}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  84.     {80}    G_RM1, G_RM1, G_ooo, G_RM1, G_Hit, G_Hit, G_Hit, G_Hit,
  85.     {88}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  86.     {90}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  87.     {98}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  88.     {A0}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  89.     {A8}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  90.     {B0}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  91.     {B8}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  92.     {C0}    G_RM2, G_RM2, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  93.     {C8}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  94.     {D0}    G_RM2, G_RM2, G_RM2, G_RM2, G_Hit, G_Hit, G_ooo, G_Hit,
  95.     {D8}    G_387, G_387, G_387, G_387, G_387, G_387, G_387, G_387,
  96.     {E0}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  97.     {E8}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit,
  98.     {F0}    G_Pfx, G_ooo, G_Pfx, G_Pfx, G_Hit, G_Hit, G_RM3, G_RM9,
  99.     {F8}    G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_RM4, G_RM5);
  100.  
  101.     { -------------------------------------------------- }    {.CP32}
  102.     { 386 Operations With Two-Byte Op-Codes Handled Next }
  103.     { -------------------------------------------------- }
  104.  
  105.    GateLvX2 : ARRAY[0..15] OF Gate_2 = (
  106.  
  107.     {0} Row_0, Row_X, Row_2, Row_X, Row_X, Row_X, Row_X, Row_X,
  108.     {8} Row_8, Row_9, Row_A, Row_B, Row_X, Row_X, Row_X, Row_X);
  109.  
  110.    GateLvl2 :    ARRAY[Row_0..Row_X] OF
  111.         ARRAY[0..15] OF Gating = (
  112.  
  113.     {[_0,0]} (G_RM6,G_RM7,G_Hit,G_Hit,G_ooo,G_ooo,G_Hit,G_ooo,
  114.     {[_0,8]}  G_ooo,G_ooo,G_ooo,G_ooo,G_ooo,G_ooo,G_ooo,G_ooo),
  115.  
  116.     {[_2,0]} (G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,G_ooo,G_Hit,G_ooo,
  117.     {[_2,8]}  G_ooo,G_ooo,G_ooo,G_ooo,G_ooo,G_ooo,G_ooo,G_ooo),
  118.  
  119.     {[_8,0]} (G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,
  120.     {[_8,8]}  G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,G_Hit),
  121.  
  122.     {[_9,0]} (G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,
  123.     {[_9,8]}  G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,G_Hit),
  124.  
  125.     {[_A,0]} (G_Hit,G_Hit,G_ooo,G_Hit,G_Hit,G_Hit,G_ooo,G_ooo,
  126.     {[_A,8]}  G_Hit,G_Hit,G_ooo,G_Hit,G_Hit,G_Hit,G_ooo,G_Hit),
  127.  
  128.     {[_B,0]} (G_ooo,G_ooo,G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,G_Hit,
  129.     {[_B,8]}  G_ooo,G_ooo,G_RM8,G_Hit,G_Hit,G_Hit,G_Hit,G_Hit),
  130.  
  131.     {[_X,0]} (G_ooo,G_ooo,G_ooo,G_ooo,G_ooo,G_ooo,G_ooo,G_ooo,
  132.     {[_X,8]}  G_ooo,G_ooo,G_ooo,G_ooo,G_ooo,G_ooo,G_ooo,G_ooo));
  133.  
  134.  
  135.     { -------------------------------------------------- }    {.CP16}
  136.     { 386 Operations Resolved in modR/M 543 Handled Next }
  137.     { -------------------------------------------------- }
  138.  
  139.    GateLvl3 :    ARRAY[G_RM1..G_RM9] OF
  140.         ARRAY[0..7] OF Gating = (
  141.  
  142.     {[_1,0]}  (G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit),
  143.     {[_2,0]}  (G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_ooo, G_Hit),
  144.     {[_3,0]}  (G_Hit, G_ooo, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit),
  145.     {[_4,0]}  (G_Hit, G_Hit, G_ooo, G_ooo, G_ooo, G_ooo, G_ooo, G_ooo),
  146.     {[_5,0]}  (G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_ooo),
  147.     {[_6,0]}  (G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_ooo, G_ooo),
  148.     {[_7,0]}  (G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_ooo, G_Hit, G_ooo),
  149.     {[_8,0]}  (G_ooo, G_ooo, G_ooo, G_ooo, G_Hit, G_Hit, G_Hit, G_Hit),
  150.     {[_9,0]}  (G_Hit, G_ooo, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit, G_Hit));
  151.  
  152.  
  153.     { ------------------------------------------------- }    {.CP08}
  154.     { Operand Format Driver Vector - 80386 Instructions }
  155.     { ------------------------------------------------- }
  156.  
  157.    OpType386 :    ARRAY[0..96] OF TagGrp = (
  158.  
  159.     {00} ((A: ' '; V: 30), (A: ' '; V: 30), (A: ' '; V: 30)),
  160.     {01} ((A: ' '; V: 30), (A: 'I'; V: 34), (A: ' '; V: 30)),
  161.     {02} ((A: ' '; V: 30), (A: 'I'; V: 38), (A: ' '; V: 30)),
  162.     {03} ((A: 'A'; V: 36), (A: ' '; V: 30), (A: ' '; V: 30)),
  163.     {04} ((A: 'C'; V: 35), (A: 'R'; V: 35), (A: ' '; V: 30)),
  164.     {05} ((A: 'D'; V: 35), (A: 'R'; V: 35), (A: ' '; V: 30)),
  165.     {06} ((A: 'E'; V: 34), (A: ' '; V: 30), (A: ' '; V: 30)),
  166.     {07} ((A: 'E'; V: 34), (A: 'G'; V: 34), (A: ' '; V: 30)),
  167.     {08} ((A: 'E'; V: 34), (A: 'I'; V: 34), (A: ' '; V: 30)),
  168.     {09} ((A: 'E'; V: 34), (A: 'r'; V: 31), (A: ' '; V: 30)),
  169.     {10} ((A: 'E'; V: 34), (A: 'r'; V: 01), (A: ' '; V: 30)),
  170.     {11} ((A: 'E'; V: 36), (A: ' '; V: 30), (A: ' '; V: 30)),
  171.     {12} ((A: 'E'; V: 38), (A: ' '; V: 30), (A: ' '; V: 30)),
  172.     {13} ((A: 'E'; V: 38), (A: 'G'; V: 38), (A: ' '; V: 30)),
  173.     {14} ((A: 'E'; V: 38), (A: 'G'; V: 38), (A: 'I'; V: 34)),
  174.     {15} ((A: 'E'; V: 38), (A: 'G'; V: 38), (A: 'r'; V: 01)),
  175.     {16} ((A: 'E'; V: 38), (A: 'I'; V: 34), (A: ' '; V: 30)),
  176.     {17} ((A: 'E'; V: 38), (A: 'I'; V: 38), (A: ' '; V: 30)),
  177.     {18} ((A: 'E'; V: 38), (A: 'r'; V: 31), (A: ' '; V: 30)),
  178.     {19} ((A: 'E'; V: 38), (A: 'r'; V: 01), (A: ' '; V: 30)),
  179.     {20} ((A: 'E'; V: 39), (A: ' '; V: 30), (A: ' '; V: 30)),
  180.     {21} ((A: 'E'; V: 39), (A: 'G'; V: 39), (A: ' '; V: 30)),
  181.     {22} ((A: 'E'; V: 39), (A: 'S'; V: 39), (A: ' '; V: 30)),
  182.     {23} ((A: 'G'; V: 34), (A: 'E'; V: 34), (A: ' '; V: 30)),
  183.     {24} ((A: 'G'; V: 38), (A: 'E'; V: 34), (A: ' '; V: 30)),
  184.     {25} ((A: 'G'; V: 38), (A: 'E'; V: 38), (A: ' '; V: 30)),
  185.     {26} ((A: 'G'; V: 38), (A: 'E'; V: 38), (A: 'I'; V: 34)),
  186.     {27} ((A: 'G'; V: 38), (A: 'E'; V: 38), (A: 'I'; V: 38)),
  187.     {28} ((A: 'G'; V: 38), (A: 'E'; V: 39), (A: ' '; V: 30)),
  188.     {29} ((A: 'G'; V: 38), (A: 'I'; V: 38), (A: ' '; V: 30)),
  189.     {30} ((A: 'G'; V: 38), (A: 'M'; V: 30), (A: ' '; V: 30)),
  190.     {31} ((A: 'G'; V: 38), (A: 'M'; V: 33), (A: ' '; V: 30)),
  191.     {32} ((A: 'G'; V: 38), (A: 'M'; V: 36), (A: ' '; V: 30)),
  192.     {33} ((A: 'I'; V: 34), (A: ' '; V: 30), (A: ' '; V: 30)),
  193.     {34} ((A: 'I'; V: 34), (A: 'e'; V: 08), (A: ' '; V: 30)),
  194.     {35} ((A: 'I'; V: 34), (A: 'r'; V: 00), (A: ' '; V: 30)),
  195.     {36} ((A: 'I'; V: 38), (A: ' '; V: 30), (A: ' '; V: 30)),
  196.     {37} ((A: 'I'; V: 39), (A: ' '; V: 30), (A: ' '; V: 30)),
  197.     {38} ((A: 'I'; V: 39), (A: 'I'; V: 34), (A: ' '; V: 30)),
  198.     {39} ((A: 'J'; V: 34), (A: ' '; V: 30), (A: ' '; V: 30)),
  199.     {40} ((A: 'J'; V: 38), (A: ' '; V: 30), (A: ' '; V: 30)),
  200.     {41} ((A: 'M'; V: 37), (A: ' '; V: 30), (A: ' '; V: 30)),
  201.     {42} ((A: 'O'; V: 34), (A: 'r'; V: 00), (A: ' '; V: 30)),
  202.     {43} ((A: 'O'; V: 38), (A: 'e'; V: 08), (A: ' '; V: 30)),
  203.     {44} ((A: 'R'; V: 35), (A: 'C'; V: 35), (A: ' '; V: 30)),
  204.     {45} ((A: 'R'; V: 35), (A: 'D'; V: 35), (A: ' '; V: 30)),
  205.     {46} ((A: 'R'; V: 35), (A: 'T'; V: 35), (A: ' '; V: 30)),
  206.     {47} ((A: 'S'; V: 39), (A: 'E'; V: 39), (A: ' '; V: 30)),
  207.     {48} ((A: 'T'; V: 35), (A: 'R'; V: 35), (A: ' '; V: 30)),
  208.     {49} ((A: 'e'; V: 08), (A: ' '; V: 30), (A: ' '; V: 30)),
  209.     {50} ((A: 'e'; V: 08), (A: 'E'; V: 38), (A: ' '; V: 30)),
  210.     {51} ((A: 'e'; V: 08), (A: 'I'; V: 34), (A: ' '; V: 30)),
  211.     {52} ((A: 'e'; V: 08), (A: 'I'; V: 38), (A: ' '; V: 30)),
  212.     {53} ((A: 'e'; V: 08), (A: 'O'; V: 38), (A: ' '; V: 30)),
  213.     {54} ((A: 'e'; V: 08), (A: 'e'; V: 13), (A: ' '; V: 30)),
  214.     {55} ((A: 'e'; V: 08), (A: 'e'; V: 11), (A: ' '; V: 30)),
  215.     {56} ((A: 'e'; V: 08), (A: 'e'; V: 09), (A: ' '; V: 30)),
  216.     {57} ((A: 'e'; V: 08), (A: 'e'; V: 15), (A: ' '; V: 30)),
  217.     {58} ((A: 'e'; V: 08), (A: 'e'; V: 10), (A: ' '; V: 30)),
  218.     {59} ((A: 'e'; V: 08), (A: 'e'; V: 14), (A: ' '; V: 30)),
  219.     {60} ((A: 'e'; V: 08), (A: 'e'; V: 12), (A: ' '; V: 30)),
  220.     {61} ((A: 'e'; V: 08), (A: 'r'; V: 10), (A: ' '; V: 30)),
  221.     {62} ((A: 'e'; V: 13), (A: ' '; V: 30), (A: ' '; V: 30)),
  222.     {63} ((A: 'e'; V: 13), (A: 'I'; V: 38), (A: ' '; V: 30)),
  223.     {64} ((A: 'e'; V: 11), (A: ' '; V: 30), (A: ' '; V: 30)),
  224.     {65} ((A: 'e'; V: 11), (A: 'I'; V: 38), (A: ' '; V: 30)),
  225.     {66} ((A: 'e'; V: 09), (A: ' '; V: 30), (A: ' '; V: 30)),
  226.     {67} ((A: 'e'; V: 09), (A: 'I'; V: 38), (A: ' '; V: 30)),
  227.     {68} ((A: 'e'; V: 15), (A: ' '; V: 30), (A: ' '; V: 30)),
  228.     {69} ((A: 'e'; V: 15), (A: 'I'; V: 38), (A: ' '; V: 30)),
  229.     {70} ((A: 'e'; V: 10), (A: ' '; V: 30), (A: ' '; V: 30)),
  230.     {71} ((A: 'e'; V: 10), (A: 'I'; V: 38), (A: ' '; V: 30)),
  231.     {72} ((A: 'e'; V: 14), (A: ' '; V: 30), (A: ' '; V: 30)),
  232.     {73} ((A: 'e'; V: 14), (A: 'I'; V: 38), (A: ' '; V: 30)),
  233.     {74} ((A: 'e'; V: 12), (A: ' '; V: 30), (A: ' '; V: 30)),
  234.     {75} ((A: 'e'; V: 12), (A: 'I'; V: 38), (A: ' '; V: 30)),
  235.     {76} ((A: 'r'; V: 32), (A: ' '; V: 30), (A: ' '; V: 30)),
  236.     {77} ((A: 'r'; V: 04), (A: 'I'; V: 34), (A: ' '; V: 30)),
  237.     {78} ((A: 'r'; V: 00), (A: 'E'; V: 34), (A: ' '; V: 30)),
  238.     {79} ((A: 'r'; V: 00), (A: 'I'; V: 34), (A: ' '; V: 30)),
  239.     {80} ((A: 'r'; V: 00), (A: 'O'; V: 34), (A: ' '; V: 30)),
  240.     {81} ((A: 'r'; V: 00), (A: 'r'; V: 10), (A: ' '; V: 30)),
  241.     {82} ((A: 'r'; V: 07), (A: 'I'; V: 34), (A: ' '; V: 30)),
  242.     {83} ((A: 'r'; V: 03), (A: 'I'; V: 34), (A: ' '; V: 30)),
  243.     {84} ((A: 'r'; V: 05), (A: 'I'; V: 34), (A: ' '; V: 30)),
  244.     {85} ((A: 'r'; V: 01), (A: 'I'; V: 34), (A: ' '; V: 30)),
  245.     {86} ((A: 'r'; V: 25), (A: ' '; V: 30), (A: ' '; V: 30)),
  246.     {87} ((A: 'r'; V: 06), (A: 'I'; V: 34), (A: ' '; V: 30)),
  247.     {88} ((A: 'r'; V: 02), (A: 'I'; V: 34), (A: ' '; V: 30)),
  248.     {89} ((A: 'r'; V: 27), (A: ' '; V: 30), (A: ' '; V: 30)),
  249.     {90} ((A: 'r'; V: 10), (A: 'e'; V: 08), (A: ' '; V: 30)),
  250.     {91} ((A: 'r'; V: 10), (A: 'r'; V: 00), (A: ' '; V: 30)),
  251.     {92} ((A: 'r'; V: 24), (A: ' '; V: 30), (A: ' '; V: 30)),
  252.     {93} ((A: 'r'; V: 28), (A: ' '; V: 30), (A: ' '; V: 30)),
  253.     {94} ((A: 'r'; V: 29), (A: ' '; V: 30), (A: ' '; V: 30)),
  254.     {95} ((A: 'r'; V: 26), (A: ' '; V: 30), (A: ' '; V: 30)),
  255.     {96} ((A: 'E'; V: 33), (A: ' '; V: 30), (A: ' '; V: 30)));
  256.  
  257.  
  258.    ActLvl1 : ARRAY[$00..$FF] OF CpuVec = (            {.CP04}
  259.  
  260.     ({00} F:$08+O0; M:006; T:07),    ({01} F:$68+O0; M:006; T:13),
  261.     ({02} F:$08+O0; M:006; T:23),    ({03} F:$68+O0; M:006; T:25),
  262.     ({04} F:$00+O0; M:006; T:79),    ({05} F:$60+O0; M:006; T:52),
  263.     ({06} F:$20+O0; M:106; T:92),    ({07} F:$00+O0; M:101; T:92),
  264.     ({08} F:$08+O0; M:096; T:07),    ({09} F:$68+O0; M:096; T:13),
  265.     ({0A} F:$08+O0; M:096; T:23),    ({0B} F:$68+O0; M:096; T:25),
  266.     ({0C} F:$00+O0; M:096; T:79),    ({0D} F:$60+O0; M:096; T:52),
  267.     ({0E} F:$20+O0; M:106; T:86),    ({0F} F:$00+O0; M:000; T:00),
  268.     ({10} F:$08+O0; M:005; T:07),    ({11} F:$68+O0; M:005; T:13),
  269.     ({12} F:$08+O0; M:005; T:23),    ({13} F:$68+O0; M:005; T:25),
  270.     ({14} F:$00+O0; M:005; T:79),    ({15} F:$60+O0; M:005; T:52),
  271.     ({16} F:$20+O0; M:106; T:95),    ({17} F:$00+O0; M:101; T:95),
  272.     ({18} F:$08+O0; M:121; T:07),    ({19} F:$68+O0; M:121; T:13),
  273.     ({1A} F:$08+O0; M:121; T:23),    ({1B} F:$68+O0; M:121; T:25),
  274.     ({1C} F:$00+O0; M:121; T:79),    ({1D} F:$60+O0; M:121; T:52),
  275.     ({1E} F:$20+O0; M:106; T:89),    ({1F} F:$00+O0; M:101; T:89),
  276.     ({20} F:$08+O0; M:007; T:07),    ({21} F:$68+O0; M:007; T:13),
  277.     ({22} F:$08+O0; M:007; T:23),    ({23} F:$68+O0; M:007; T:25),
  278.     ({24} F:$00+O0; M:007; T:79),    ({25} F:$60+O0; M:007; T:52),
  279.     ({26} F:$00+O0; M:127; T:00),    ({27} F:$00+O0; M:030; T:00),
  280.     ({28} F:$08+O0; M:162; T:07),    ({29} F:$68+O0; M:162; T:13),
  281.     ({2A} F:$08+O0; M:162; T:23),    ({2B} F:$68+O0; M:162; T:25),
  282.     ({2C} F:$00+O0; M:162; T:79),    ({2D} F:$60+O0; M:162; T:52),
  283.     ({2E} F:$00+O0; M:125; T:00),    ({2F} F:$00+O0; M:031; T:00),
  284.     ({30} F:$08+O0; M:169; T:07),    ({31} F:$68+O0; M:169; T:13),
  285.     ({32} F:$08+O0; M:169; T:23),    ({33} F:$48+O0; M:169; T:25),
  286.     ({34} F:$00+O0; M:169; T:79),    ({35} F:$60+O0; M:169; T:52),
  287.     ({36} F:$00+O0; M:130; T:00),    ({37} F:$00+O0; M:001; T:00),
  288.     ({38} F:$08+O0; M:024; T:07),    ({39} F:$68+O0; M:024; T:13),
  289.     ({3A} F:$08+O0; M:024; T:23),    ({3B} F:$68+O0; M:024; T:25),
  290.     ({3C} F:$00+O0; M:024; T:79),    ({3D} F:$60+O0; M:024; T:52),
  291.     ({3E} F:$00+O0; M:126; T:00),    ({3F} F:$00+O0; M:004; T:00),
  292.     ({40} F:$60+O0; M:039; T:49),    ({41} F:$60+O0; M:039; T:66),
  293.     ({42} F:$60+O0; M:039; T:70),    ({43} F:$60+O0; M:039; T:64),
  294.     ({44} F:$60+O0; M:039; T:74),    ({45} F:$60+O0; M:039; T:62),
  295.     ({46} F:$60+O0; M:039; T:72),    ({47} F:$60+O0; M:039; T:68),
  296.     ({48} F:$60+O0; M:032; T:49),    ({49} F:$60+O0; M:032; T:66),
  297.     ({4A} F:$60+O0; M:032; T:70),    ({4B} F:$60+O0; M:032; T:64),
  298.     ({4C} F:$60+O0; M:032; T:74),    ({4D} F:$60+O0; M:032; T:62),
  299.     ({4E} F:$60+O0; M:032; T:72),    ({4F} F:$60+O0; M:032; T:68),
  300.     ({50} F:$60+O0; M:106; T:49),    ({51} F:$60+O0; M:106; T:66),
  301.     ({52} F:$60+O0; M:106; T:70),    ({53} F:$60+O0; M:106; T:64),
  302.     ({54} F:$60+O0; M:106; T:74),    ({55} F:$60+O0; M:106; T:62),
  303.     ({56} F:$60+O0; M:106; T:72),    ({57} F:$60+O0; M:106; T:68),
  304.     ({58} F:$60+O0; M:101; T:49),    ({59} F:$60+O0; M:101; T:66),
  305.     ({5A} F:$60+O0; M:101; T:70),    ({5B} F:$60+O0; M:101; T:64),
  306.     ({5C} F:$60+O0; M:101; T:74),    ({5D} F:$60+O0; M:101; T:62),
  307.     ({5E} F:$60+O0; M:101; T:72),    ({5F} F:$60+O0; M:101; T:68),
  308.     ({60} F:$E0+O1; M:107; T:00),    ({61} F:$E0+O1; M:102; T:00),
  309.     ({62} F:$68+O1; M:009; T:31),    ({63} F:$08+O2; M:008; T:21),
  310.     ({64} F:$00+O3; M:128; T:00),    ({65} F:$00+O3; M:129; T:00),
  311.     ({66} F:$00+O3; M:000; T:00),    ({67} F:$00+O3; M:000; T:00),
  312.     ({68} F:$60+O1; M:106; T:36),    ({69} F:$68+O1; M:037; T:27),
  313.     ({6A} F:$00+O1; M:106; T:33),    ({6B} F:$78+O1; M:037; T:26),
  314.     ({6C} F:$00+O1; M:040; T:00),    ({6D} F:$C0+O1; M:041; T:00),
  315.     ({6E} F:$00+O1; M:098; T:00),    ({6F} F:$E0+O1; M:099; T:00),
  316.     ({70} F:$00+O0; M:060; T:39),    ({71} F:$00+O0; M:056; T:39),
  317.     ({72} F:$00+O0; M:046; T:39),    ({73} F:$00+O0; M:052; T:39),
  318.     ({74} F:$00+O0; M:063; T:39),    ({75} F:$00+O0; M:059; T:39),
  319.     ({76} F:$00+O0; M:047; T:39),    ({77} F:$00+O0; M:053; T:39),
  320.     ({78} F:$00+O0; M:062; T:39),    ({79} F:$00+O0; M:058; T:39),
  321.     ({7A} F:$00+O0; M:061; T:39),    ({7B} F:$00+O0; M:057; T:39),
  322.     ({7C} F:$00+O0; M:170; T:39),    ({7D} F:$00+O0; M:054; T:39),
  323.     ({7E} F:$00+O0; M:050; T:39),    ({7F} F:$00+O0; M:055; T:39),
  324.     ({80} F:$00+O0; M:000; T:08),    ({81} F:$60+O0; M:000; T:17),
  325.     ({82} F:$00+O0; M:000; T:00),    ({83} F:$70+O0; M:000; T:16),
  326.     ({84} F:$08+O0; M:163; T:07),    ({85} F:$68+O0; M:163; T:13),
  327.     ({86} F:$08+O0; M:167; T:07),    ({87} F:$68+O0; M:167; T:13),
  328.     ({88} F:$08+O0; M:086; T:07),    ({89} F:$68+O0; M:086; T:13),
  329.     ({8A} F:$08+O0; M:086; T:23),    ({8B} F:$68+O0; M:086; T:25),
  330.     ({8C} F:$28+O0; M:086; T:22),    ({8D} F:$68+O0; M:067; T:30),
  331.     ({8E} F:$28+O0; M:086; T:47),    ({8F} F:$68+O0; M:101; T:12),
  332.     ({90} F:$00+O0; M:094; T:00),    ({91} F:$60+O0; M:167; T:56),
  333.     ({92} F:$40+O0; M:167; T:58),    ({93} F:$60+O0; M:167; T:55),
  334.     ({94} F:$60+O0; M:167; T:60),    ({95} F:$60+O0; M:167; T:54),
  335.     ({96} F:$60+O0; M:167; T:59),    ({97} F:$60+O0; M:167; T:57),
  336.     ({98} F:$F0+O0; M:017; T:00),    ({99} F:$E0+O0; M:028; T:00),
  337.     ({9A} F:$00+O0; M:016; T:03),    ({9B} F:$00+O0; M:166; T:00),
  338.     ({9C} F:$E0+O0; M:109; T:00),    ({9D} F:$E0+O0; M:104; T:00),
  339.     ({9E} F:$00+O0; M:119; T:00),    ({9F} F:$00+O0; M:064; T:00),
  340.     ({A0} F:$00+O0; M:086; T:80),    ({A1} F:$60+O0; M:086; T:53),
  341.     ({A2} F:$00+O0; M:086; T:42),    ({A3} F:$60+O0; M:086; T:43),
  342.     ({A4} F:$00+O0; M:087; T:00),    ({A5} F:$E0+O0; M:088; T:00),
  343.     ({A6} F:$00+O0; M:025; T:00),    ({A7} F:$E0+O0; M:026; T:00),
  344.     ({A8} F:$00+O0; M:163; T:79),    ({A9} F:$60+O0; M:163; T:52),
  345.     ({AA} F:$00+O0; M:158; T:00),    ({AB} F:$E0+O0; M:159; T:00),
  346.     ({AC} F:$00+O0; M:077; T:00),    ({AD} F:$C0+O0; M:078; T:00),
  347.     ({AE} F:$00+O0; M:122; T:00),    ({AF} F:$E0+O0; M:123; T:00),
  348.     ({B0} F:$00+O0; M:086; T:79),    ({B1} F:$00+O0; M:086; T:85),
  349.     ({B2} F:$00+O0; M:086; T:88),    ({B3} F:$00+O0; M:086; T:83),
  350.     ({B4} F:$00+O0; M:086; T:77),    ({B5} F:$00+O0; M:086; T:84),
  351.     ({B6} F:$00+O0; M:086; T:87),    ({B7} F:$00+O0; M:086; T:82),
  352.     ({B8} F:$60+O0; M:086; T:52),    ({B9} F:$60+O0; M:086; T:67),
  353.     ({BA} F:$60+O0; M:086; T:71),    ({BB} F:$60+O0; M:086; T:65),
  354.     ({BC} F:$60+O0; M:086; T:75),    ({BD} F:$60+O0; M:086; T:63),
  355.     ({BE} F:$60+O0; M:086; T:73),    ({BF} F:$60+O0; M:086; T:69),
  356.     ({C0} F:$00+O1; M:000; T:08),    ({C1} F:$60+O1; M:000; T:16),
  357.     ({C2} F:$00+O0; M:115; T:37),    ({C3} F:$00+O0; M:115; T:00),
  358.     ({C4} F:$68+O0; M:069; T:32),    ({C5} F:$68+O0; M:066; T:32),
  359.     ({C6} F:$08+O0; M:086; T:08),    ({C7} F:$68+O0; M:086; T:17),
  360.     ({C8} F:$00+O1; M:034; T:38),    ({C9} F:$00+O1; M:068; T:00),
  361.     ({CA} F:$00+O0; M:116; T:37),    ({CB} F:$00+O0; M:116; T:00),
  362.     ({CC} F:$00+O0; M:043; T:76),    ({CD} F:$00+O0; M:043; T:33),
  363.     ({CE} F:$00+O0; M:044; T:00),    ({CF} F:$00+O0; M:045; T:00),
  364.     ({D0} F:$00+O0; M:000; T:09),    ({D1} F:$60+O0; M:000; T:18),
  365.     ({D2} F:$00+O0; M:000; T:10),    ({D3} F:$60+O0; M:000; T:19),
  366.     ({D4} F:$00+O0; M:003; T:00),    ({D5} F:$00+O0; M:002; T:00),
  367.     ({D6} F:$00+O0; M:000; T:00),    ({D7} F:$00+O0; M:168; T:00),
  368.     ({D8} F:$00+O0; M:000; T:00),    ({D9} F:$00+O0; M:000; T:00),
  369.     ({DA} F:$00+O0; M:000; T:00),    ({DB} F:$00+O0; M:000; T:00),
  370.     ({DC} F:$00+O0; M:000; T:00),    ({DD} F:$00+O0; M:000; T:00),
  371.     ({DE} F:$00+O0; M:000; T:00),    ({DF} F:$00+O0; M:000; T:00),
  372.     ({E0} F:$00+O0; M:082; T:39),    ({E1} F:$00+O0; M:081; T:39),
  373.     ({E2} F:$00+O0; M:080; T:39),    ({E3} F:$E0+O0; M:048; T:39),
  374.     ({E4} F:$00+O0; M:038; T:79),    ({E5} F:$60+O0; M:038; T:51),
  375.     ({E6} F:$00+O0; M:097; T:35),    ({E7} F:$60+O0; M:097; T:34),
  376.     ({E8} F:$60+O0; M:016; T:40),    ({E9} F:$40+O0; M:051; T:40),
  377.     ({EA} F:$40+O0; M:051; T:03),    ({EB} F:$00+O0; M:051; T:39),
  378.     ({EC} F:$00+O0; M:038; T:81),    ({ED} F:$60+O0; M:038; T:61),
  379.     ({EE} F:$00+O0; M:097; T:91),    ({EF} F:$60+O0; M:097; T:90),
  380.     ({F0} F:$00+O0; M:076; T:00),    ({F1} F:$00+O0; M:000; T:00),
  381.     ({F2} F:$00+O0; M:114; T:00),    ({F3} F:$00+O0; M:113; T:00),
  382.     ({F4} F:$00+O0; M:035; T:00),    ({F5} F:$00+O0; M:023; T:00),
  383.     ({F6} F:$00+O0; M:000; T:06),    ({F7} F:$00+O0; M:000; T:12),
  384.     ({F8} F:$00+O0; M:019; T:00),    ({F9} F:$00+O0; M:155; T:00),
  385.     ({FA} F:$00+O0; M:021; T:00),    ({FB} F:$00+O0; M:157; T:00),
  386.     ({FC} F:$00+O0; M:020; T:00),    ({FD} F:$00+O0; M:156; T:00),
  387.     ({FE} F:$00+O0; M:000; T:00),    ({FF} F:$00+O0; M:000; T:00));
  388.  
  389.  
  390.    ActLvl2 :    ARRAY[Row_0..Row_B]    OF          {2-byte Row Index}{.CP05}
  391.         ARRAY[$00..$0F]     OF CpuVec = ( {2-byte Col Index}
  392.  
  393.     {_0,0} ((F:$00+O0; M:000; T:00),    {_0,1} (F:$00+O0; M:000; T:00),
  394.     {_0,2}  (F:$48+O2; M:065; T:28),    {_0,3} (F:$68+O2; M:083; T:28),
  395.     {_0,4}  (F:$00+O0; M:000; T:00),    {_0,5} (F:$00+O0; M:000; T:00),
  396.     {_0,6}  (F:$00+O2; M:022; T:00),    {_0,7} (F:$00+O0; M:000; T:00),
  397.     {_0,8}  (F:$00+O0; M:000; T:00),    {_0,9} (F:$00+O0; M:000; T:00),
  398.     {_0,A}  (F:$00+O0; M:000; T:00),    {_0,B} (F:$00+O0; M:000; T:00),
  399.     {_0,C}  (F:$00+O0; M:000; T:00),    {_0,D} (F:$00+O0; M:000; T:00),
  400.     {_0,E}  (F:$00+O0; M:000; T:00),    {_0,F} (F:$00+O0; M:000; T:00)),
  401.     {_2,0} ((F:$08+O3; M:086; T:04),    {_2,1} (F:$08+O3; M:086; T:05),
  402.     {_2,2}  (F:$08+O3; M:086; T:44),    {_2,3} (F:$08+O3; M:086; T:45),
  403.     {_2,4}  (F:$08+O3; M:086; T:48),    {_2,5} (F:$00+O0; M:000; T:00),
  404.     {_2,6}  (F:$08+O3; M:086; T:46),    {_2,7} (F:$00+O0; M:000; T:00),
  405.     {_2,8}  (F:$00+O0; M:000; T:00),    {_2,9} (F:$00+O0; M:000; T:00),
  406.     {_2,A}  (F:$00+O0; M:000; T:00),    {_2,B} (F:$00+O0; M:000; T:00),
  407.     {_2,C}  (F:$00+O0; M:000; T:00),    {_2,D} (F:$00+O0; M:000; T:00),
  408.     {_2,E}  (F:$00+O0; M:000; T:00),    {_2,F} (F:$00+O0; M:000; T:00)),
  409.     {_8,0} ((F:$40+O3; M:060; T:40),    {_8,1} (F:$40+O3; M:056; T:40),
  410.     {_8,2}  (F:$40+O3; M:046; T:40),    {_8,3} (F:$40+O3; M:052; T:40),
  411.     {_8,4}  (F:$40+O3; M:063; T:40),    {_8,5} (F:$40+O3; M:059; T:40),
  412.     {_8,6}  (F:$40+O3; M:047; T:40),    {_8,7} (F:$40+O3; M:053; T:40),
  413.     {_8,8}  (F:$40+O3; M:062; T:40),    {_8,9} (F:$40+O3; M:058; T:40),
  414.     {_8,A}  (F:$40+O3; M:061; T:40),    {_8,B} (F:$40+O3; M:057; T:40),
  415.     {_8,C}  (F:$40+O3; M:170; T:40),    {_8,D} (F:$40+O3; M:054; T:40),
  416.     {_8,E}  (F:$40+O3; M:050; T:40),    {_8,F} (F:$40+O3; M:055; T:40)),
  417.     {_9,0} ((F:$08+O3; M:143; T:06),    {_9,1} (F:$08+O3; M:139; T:06),
  418.     {_9,2}  (F:$08+O3; M:131; T:06),    {_9,3} (F:$08+O3; M:135; T:06),
  419.     {_9,4}  (F:$08+O3; M:146; T:06),    {_9,5} (F:$08+O3; M:142; T:06),
  420.     {_9,6}  (F:$08+O3; M:132; T:06),    {_9,7} (F:$08+O3; M:136; T:06),
  421.     {_9,8}  (F:$08+O3; M:145; T:06),    {_9,9} (F:$08+O3; M:141; T:06),
  422.     {_9,A}  (F:$08+O3; M:144; T:06),    {_9,B} (F:$08+O3; M:140; T:06),
  423.     {_9,C}  (F:$08+O3; M:133; T:06),    {_9,D} (F:$08+O3; M:137; T:06),
  424.     {_9,E}  (F:$08+O3; M:134; T:06),    {_9,F} (F:$08+O3; M:138; T:06)),
  425.     {_A,0} ((F:$20+O3; M:106; T:93),    {_A,1} (F:$00+O3; M:101; T:93),
  426.     {_A,2}  (F:$00+O0; M:000; T:00),    {_A,3} (F:$68+O3; M:012; T:13),
  427.     {_A,4}  (F:$68+O3; M:149; T:14),    {_A,5} (F:$68+O3; M:149; T:15),
  428.     {_A,6}  (F:$00+O0; M:000; T:00),    {_A,7} (F:$00+O0; M:000; T:00),
  429.     {_A,8}  (F:$20+O3; M:106; T:94),    {_A,9} (F:$00+O3; M:101; T:94),
  430.     {_A,A}  (F:$00+O0; M:000; T:00),    {_A,B} (F:$68+O3; M:015; T:13),
  431.     {_A,C}  (F:$68+O3; M:151; T:14),    {_A,D} (F:$68+O3; M:151; T:15),
  432.     {_A,E}  (F:$00+O0; M:000; T:00),    {_A,F} (F:$68+O3; M:037; T:25)),
  433.     {_B,0} ((F:$00+O0; M:000; T:00),    {_B,1} (F:$00+O0; M:000; T:00),
  434.     {_B,2}  (F:$68+O3; M:084; T:32),    {_B,3} (F:$68+O3; M:014; T:13),
  435.     {_B,4}  (F:$68+O3; M:070; T:32),    {_B,5} (F:$68+O3; M:072; T:32),
  436.     {_B,6}  (F:$78+O3; M:091; T:24),    {_B,7} (F:$78+O3; M:091; T:28),
  437.     {_B,8}  (F:$00+O0; M:000; T:00),    {_B,9} (F:$00+O0; M:000; T:00),
  438.     {_B,A}  (F:$00+O0; M:000; T:00),    {_B,B} (F:$68+O3; M:013; T:13),
  439.     {_B,C}  (F:$68+O3; M:010; T:25),    {_B,D} (F:$68+O3; M:011; T:25),
  440.     {_B,E}  (F:$78+O3; M:090; T:24),    {_B,F} (F:$78+O3; M:090; T:28)));
  441.  
  442.  
  443.    ActLvl3 :    ARRAY[G_RM1..G_RM9]    OF          {modR/M Group Index}{.CP05}
  444.         ARRAY[$00..$07]     OF CpuVec = ( {modR/M Reg   Index}
  445.  
  446.     {G_RM1,0} ((F:$00+O0; M:006; T:00),    {G_RM1,1}  (F:$00+O0; M:096; T:00),
  447.     {G_RM1,2}  (F:$00+O0; M:005; T:00),    {G_RM1,3}  (F:$00+O0; M:121; T:00),
  448.     {G_RM1,4}  (F:$00+O0; M:007; T:00),    {G_RM1,5}  (F:$00+O0; M:162; T:00),
  449.     {G_RM1,6}  (F:$00+O0; M:169; T:00),    {G_RM1,7}  (F:$00+O0; M:024; T:00)),
  450.  
  451.     {G_RM2,0} ((F:$00+O0; M:117; T:00),    {G_RM2,1}  (F:$00+O0; M:118; T:00),
  452.     {G_RM2,2}  (F:$00+O0; M:111; T:00),    {G_RM2,3}  (F:$00+O0; M:112; T:00),
  453.     {G_RM2,4}  (F:$00+O0; M:148; T:00),    {G_RM2,5}  (F:$00+O0; M:150; T:00),
  454.     {G_RM2,6}  (F:$00+O0; M:000; T:00),    {G_RM2,7}  (F:$00+O0; M:120; T:00)),
  455.  
  456.     {G_RM3,0} ((F:$00+O0; M:163; T:01),    {G_RM3,1}  (F:$00+O0; M:000; T:00),
  457.     {G_RM3,2}  (F:$00+O0; M:095; T:00),    {G_RM3,3}  (F:$00+O0; M:093; T:00),
  458.     {G_RM3,4}  (F:$00+O0; M:092; T:78),    {G_RM3,5}  (F:$00+O0; M:037; T:00),
  459.     {G_RM3,6}  (F:$00+O0; M:033; T:00),    {G_RM3,7}  (F:$00+O0; M:036; T:00)),
  460.  
  461.     {G_RM4,0} ((F:$00+O0; M:039; T:06),    {G_RM4,1}  (F:$00+O0; M:032; T:06),
  462.     {G_RM4,2}  (F:$00+O0; M:000; T:00),    {G_RM4,3}  (F:$00+O0; M:000; T:00),
  463.     {G_RM4,4}  (F:$00+O0; M:000; T:00),    {G_RM4,5}  (F:$00+O0; M:000; T:00),
  464.     {G_RM4,6}  (F:$00+O0; M:000; T:00),    {G_RM4,7}  (F:$00+O0; M:000; T:00)),
  465.  
  466.     {G_RM5,0} ((F:$60+O0; M:039; T:12),    {G_RM5,1}  (F:$60+O0; M:032; T:12),
  467.     {G_RM5,2}  (F:$60+O0; M:016; T:12),    {G_RM5,3}  (F:$20+O0; M:016; T:11),
  468.     {G_RM5,4}  (F:$40+O0; M:051; T:12),    {G_RM5,5}  (F:$40+O0; M:051; T:11),
  469.     {G_RM5,6}  (F:$60+O0; M:106; T:12),    {G_RM5,7}  (F:$00+O0; M:000; T:00)),
  470.  
  471.     {G_RM6,0} ((F:$00+O2; M:153; T:20),    {G_RM6,1}  (F:$00+O2; M:161; T:20),
  472.     {G_RM6,2}  (F:$20+O2; M:074; T:20),    {G_RM6,3}  (F:$00+O2; M:085; T:20),
  473.     {G_RM6,4}  (F:$00+O2; M:164; T:20),    {G_RM6,5}  (F:$00+O2; M:165; T:20),
  474.     {G_RM6,6}  (F:$00+O0; M:000; T:00),    {G_RM6,7}  (F:$00+O0; M:000; T:00)),
  475.  
  476.     {G_RM7,0} ((F:$00+O2; M:147; T:41),    {G_RM7,1}  (F:$00+O2; M:152; T:41),
  477.     {G_RM7,2}  (F:$40+O2; M:071; T:41),    {G_RM7,3}  (F:$40+O2; M:073; T:41),
  478.     {G_RM7,4}  (F:$00+O2; M:154; T:20),    {G_RM7,5}  (F:$00+O0; M:000; T:00),
  479.     {G_RM7,6}  (F:$00+O2; M:075; T:20),    {G_RM7,7}  (F:$00+O0; M:000; T:00)),
  480.  
  481.     {G_RM8,0} ((F:$00+O0; M:000; T:00),    {G_RM8,1}  (F:$00+O0; M:000; T:00),
  482.     {G_RM8,2}  (F:$00+O0; M:000; T:00),    {G_RM8,3}  (F:$00+O0; M:000; T:00),
  483.     {G_RM8,4}  (F:$60+O3; M:012; T:16),    {G_RM8,5}  (F:$60+O3; M:015; T:16),
  484.     {G_RM8,6}  (F:$60+O3; M:014; T:16),    {G_RM8,7}  (F:$60+O3; M:013; T:16)),
  485.  
  486.     {G_RM9,0} ((F:$60+O0; M:163; T:02),    {G_RM9,1}  (F:$00+O0; M:000; T:00),
  487.     {G_RM9,2}  (F:$60+O0; M:095; T:00),    {G_RM9,3}  (F:$60+O0; M:093; T:00),
  488.     {G_RM9,4}  (F:$60+O0; M:092; T:50),    {G_RM9,5}  (F:$60+O0; M:037; T:00),
  489.     {G_RM9,6}  (F:$60+O0; M:033; T:00),    {G_RM9,7}  (F:$60+O0; M:036; T:00)));
  490.  
  491.  
  492.  
  493.    MrmTab :    ARRAY[TAdr] OF    { addressing }        {.CP08}
  494.         ARRAY[0..2] OF    { mod values }
  495.         ARRAY[0..7] OF    { R/M values }
  496.  
  497.             TMrm = (
  498.  
  499.     {[Adr16,0,0]}(((D:0; SIB:0; rS:27 {DS}; rB:11 {BX};  rX:14 {SI}),
  500.     {[Adr16,0,1]}  (D:0; SIB:0; rS:27 {DS}; rB:11 {BX};  rX:15 {DI}),
  501.     {[Adr16,0,2]}  (D:0; SIB:0; rS:26 {SS}; rB:13 {BP};  rX:14 {SI}),
  502.     {[Adr16,0,3]}  (D:0; SIB:0; rS:26 {SS}; rB:13 {BP};  rX:15 {DI}),
  503.     {[Adr16,0,4]}  (D:0; SIB:0; rS:27 {DS}; rB:14 {SI};  rX:30 {}),
  504.     {[Adr16,0,5]}  (D:0; SIB:0; rS:27 {DS}; rB:15 {DI};  rX:30 {}),
  505.     {[Adr16,0,6]}  (D:2; SIB:0; rS:27 {DS}; rB:30 {};    rX:30 {}),
  506.     {[Adr16,0,7]}  (D:0; SIB:0; rS:27 {DS}; rB:11 {BX};  rX:30 {})),
  507.  
  508.     {[Adr16,1,0]} ((D:1; SIB:0; rS:27 {DS}; rB:11 {BX};  rX:14 {SI}),
  509.     {[Adr16,1,1]}  (D:1; SIB:0; rS:27 {DS}; rB:11 {BX};  rX:15 {DI}),
  510.     {[Adr16,1,2]}  (D:1; SIB:0; rS:26 {SS}; rB:13 {BP};  rX:14 {SI}),
  511.     {[Adr16,1,3]}  (D:1; SIB:0; rS:26 {SS}; rB:13 {BP};  rX:15 {DI}),
  512.     {[Adr16,1,4]}  (D:1; SIB:0; rS:27 {DS}; rB:14 {SI};  rX:30 {}),
  513.     {[Adr16,1,5]}  (D:1; SIB:0; rS:27 {DS}; rB:15 {DI};  rX:30 {}),
  514.     {[Adr16,1,6]}  (D:1; SIB:0; rS:26 {SS}; rB:13 {BP};  rX:30 {}),
  515.     {[Adr16,1,7]}  (D:1; SIB:0; rS:27 {DS}; rB:11 {BX};  rX:30 {})),
  516.  
  517.     {[Adr16,2,0]} ((D:2; SIB:0; rS:27 {DS}; rB:11 {BX};  rX:14 {SI}),
  518.     {[Adr16,2,1]}  (D:2; SIB:0; rS:27 {DS}; rB:11 {BX};  rX:15 {DI}),
  519.     {[Adr16,2,2]}  (D:2; SIB:0; rS:26 {SS}; rB:13 {BP};  rX:14 {SI}),
  520.     {[Adr16,2,3]}  (D:2; SIB:0; rS:26 {SS}; rB:13 {BP};  rX:15 {DI}),
  521.     {[Adr16,2,4]}  (D:2; SIB:0; rS:27 {DS}; rB:14 {SI};  rX:30 {}),
  522.     {[Adr16,2,5]}  (D:2; SIB:0; rS:27 {DS}; rB:15 {DI};  rX:30 {}),
  523.     {[Adr16,2,6]}  (D:2; SIB:0; rS:26 {SS}; rB:13 {BP};  rX:30 {}),
  524.     {[Adr16,2,7]}  (D:2; SIB:0; rS:27 {DS}; rB:11 {BX};  rX:30 {}))),
  525.  
  526.     {[Adr32,0,0]}(((D:0; SIB:0; rS:27 {DS}; rB:16 {EAX}; rX:30 {}),
  527.     {[Adr32,0,1]}  (D:0; SIB:0; rS:27 {DS}; rB:17 {ECX}; rX:30 {}),
  528.     {[Adr32,0,2]}  (D:0; SIB:0; rS:27 {DS}; rB:18 {EDX}; rX:30 {}),
  529.     {[Adr32,0,3]}  (D:0; SIB:0; rS:27 {DS}; rB:19 {EBX}; rX:30 {}),
  530.     {[Adr32,0,4]}  (D:0; SIB:1; rS:30 {};   rB:30 {};    rX:30 {}),
  531.     {[Adr32,0,5]}  (D:4; SIB:0; rS:27 {DS}; rB:30 {};    rX:30 {}),
  532.     {[Adr32,0,6]}  (D:0; SIB:0; rS:27 {DS}; rB:22 {ESI}; rX:30 {}),
  533.     {[Adr32,0,7]}  (D:0; SIB:0; rS:27 {DS}; rB:23 {EDI}; rX:30 {})),
  534.  
  535.     {[Adr32,1,0]} ((D:1; SIB:0; rS:27 {DS}; rB:16 {EAX}; rX:30 {}),
  536.     {[Adr32,1,1]}  (D:1; SIB:0; rS:27 {DS}; rB:17 {ECX}; rX:30 {}),
  537.     {[Adr32,1,2]}  (D:1; SIB:0; rS:27 {DS}; rB:18 {EDX}; rX:30 {}),
  538.     {[Adr32,1,3]}  (D:1; SIB:0; rS:27 {DS}; rB:19 {EBX}; rX:30 {}),
  539.     {[Adr32,1,4]}  (D:0; SIB:1; rS:30 {};   rB:30 {};    rX:30 {}),
  540.     {[Adr32,1,5]}  (D:1; SIB:0; rS:26 {SS}; rB:21 {EBP}; rX:30 {}),
  541.     {[Adr32,1,6]}  (D:1; SIB:0; rS:27 {DS}; rB:22 {ESI}; rX:30 {}),
  542.     {[Adr32,1,7]}  (D:1; SIB:0; rS:27 {DS}; rB:23 {EDI}; rX:30 {})),
  543.  
  544.     {[Adr32,2,0]} ((D:4; SIB:0; rS:27 {DS}; rB:16 {EAX}; rX:30 {}),
  545.     {[Adr32,2,1]}  (D:4; SIB:0; rS:27 {DS}; rB:17 {ECX}; rX:30 {}),
  546.     {[Adr32,2,2]}  (D:4; SIB:0; rS:27 {DS}; rB:18 {EDX}; rX:30 {}),
  547.     {[Adr32,2,3]}  (D:4; SIB:0; rS:27 {DS}; rB:19 {EBX}; rX:30 {}),
  548.     {[Adr32,2,4]}  (D:0; SIB:1; rS:30 {};   rB:30 {};    rX:30 {}),
  549.     {[Adr32,2,5]}  (D:4; SIB:0; rS:26 {SS}; rB:21 {EBP}; rX:30 {}),
  550.     {[Adr32,2,6]}  (D:4; SIB:0; rS:27 {DS}; rB:22 {ESI}; rX:30 {}),
  551.     {[Adr32,2,7]}  (D:4; SIB:0; rS:27 {DS}; rB:23 {EDI}; rX:30 {}))));
  552.  
  553.    RegList : ARRAY[00..41] OF STRING[3] = (            {.CP12}
  554.  
  555.     {00}  'AL',     {01}  'CL',     {02}  'DL',     {03}  'BL',
  556.     {04}  'AH',     {05}  'CH',     {06}  'DH',     {07}  'BH', 
  557.     {08}  'AX',     {09}  'CX',     {10}  'DX',     {11}  'BX',
  558.     {12}  'SP',     {13}  'BP',     {14}  'SI',     {15}  'DI',
  559.     {16}  'EAX',    {17}  'ECX',    {18}  'EDX',    {19}  'EBX',
  560.     {20}  'ESP',    {21}  'EBP',    {22}  'ESI',    {23}  'EDI',
  561.     {24}  'ES',     {25}  'CS',     {26}  'SS',     {27}  'DS',
  562.     {28}  'FS',     {29}  'GS',     {30}  '',    {31}  '1',
  563.     {32}  '3',    {33}  'a',    {34}  'b',    {35}  'd',
  564.     {36}  'p',    {37}  's',    {38}  'v',    {39}  'w',
  565.     {40}  'q',    {41}  't');
  566.  
  567.  
  568.    RegDecode :  ARRAY[TAdr] OF                    {.CP12}
  569.         ARRAY[WBitStatus] OF
  570.         ARRAY[0..7] OF BYTE = (  {decodes GP Reg fields}
  571.  
  572.    {[Adr16,W0,0]}    ((00 {AL},  01 {CL},  02 {DL},  03 {BL},
  573.               04 {AH},  05 {CH},  06 {DH},  07 {BH}),
  574.    {[Adr16,W1,0]}     (08 {AX},  09 {CX},  10 {DX},  11 {BX},
  575.               12 {SP},  13 {BP},  14 {SI},  15 {DI})),
  576.    {[Adr32,W0,0]}    ((00 {AL},  01 {CL},  02 {DL},  03 {BL},
  577.               04 {AH},  05 {CH},  06 {DH},  07 {BH}),
  578.    {[Adr32,W1,0]}     (16 {EAX}, 17 {ECX}, 18 {EDX}, 19 {EBX},
  579.               20 {ESP}, 21 {EBP}, 22 {ESI}, 23 {EDI})));
  580.  
  581.  
  582.      SibTab :    ARRAY[0..2] OF  { mrmMOD indexes this }        {.CP28}
  583.         ARRAY[0..7] OF  { sibBAS indexes this }
  584.         SibRec = (
  585.  
  586.     {[0,0]}  ((D: 0; rS: 27 {DS}; rB: 16 {EAX}),
  587.     {[0,1]}   (D: 0; rS: 27 {DS}; rB: 17 {ECX}),
  588.     {[0,2]}   (D: 0; rS: 27 {DS}; rB: 18 {EDX}),
  589.     {[0,3]}   (D: 0; rS: 27 {DS}; rB: 19 {EBX}),
  590.     {[0,4]}   (D: 0; rS: 26 {SS}; rB: 20 {ESP}),
  591.     {[0,5]}   (D: 4; rS: 27 {DS}; rB: 30 {}),
  592.     {[0,6]}   (D: 0; rS: 27 {DS}; rB: 22 {ESI}),
  593.     {[0,7]}   (D: 0; rS: 27 {DS}; rB: 23 {EDI})),
  594.     {[1,0]}  ((D: 1; rS: 27 {DS}; rB: 16 {EAX}),
  595.     {[1,1]}   (D: 1; rS: 27 {DS}; rB: 17 {ECX}),
  596.     {[1,2]}   (D: 1; rS: 27 {DS}; rB: 18 {EDX}),
  597.     {[1,3]}   (D: 1; rS: 27 {DS}; rB: 19 {EBX}),
  598.     {[1,4]}   (D: 1; rS: 26 {SS}; rB: 21 {EBP}),
  599.     {[1,5]}   (D: 1; rS: 26 {SS}; rB: 20 {ESP}),
  600.     {[1,6]}   (D: 1; rS: 27 {DS}; rB: 22 {ESI}),
  601.     {[1,7]}   (D: 1; rS: 27 {DS}; rB: 23 {EDI})),
  602.     {[2,0]}  ((D: 4; rS: 27 {DS}; rB: 16 {EAX}),
  603.     {[2,1]}   (D: 4; rS: 27 {DS}; rB: 17 {ECX}),
  604.     {[2,2]}   (D: 4; rS: 27 {DS}; rB: 18 {EDX}),
  605.     {[2,3]}   (D: 4; rS: 27 {DS}; rB: 19 {EBX}),
  606.     {[2,4]}   (D: 4; rS: 26 {SS}; rB: 21 {EBP}),
  607.     {[2,5]}   (D: 4; rS: 26 {SS}; rB: 20 {ESP}),
  608.     {[2,6]}   (D: 4; rS: 27 {DS}; rB: 22 {ESI}),
  609.     {[2,7]}   (D: 4; rS: 27 {DS}; rB: 23 {EDI})));
  610.  
  611.  
  612.    sxTab :    ARRAY[0..3] OF   {   ss  field indexes this }    {.CP20}
  613.         ARRAY[0..7] OF   { index field indexes this }
  614.             sxRec = (
  615.  
  616.     {[0,0]} ((rX: 16 {EAX}; sF: 1),  {[0,1]} (rX: 17 {ECX}; sF: 1),
  617.     {[0,2]}  (rX: 18 {EDX}; sF: 1),  {[0,3]} (rX: 19 {EBX}; sF: 1),
  618.     {[0,4]}  (rX: 30 {};    sF: 0),  {[0,5]} (rX: 21 {EBP}; sF: 1),
  619.     {[0,6]}  (rX: 22 {ESI}; sF: 1),  {[0,7]} (rX: 23 {EDI}; sF: 1)),
  620.     {[1,0]} ((rX: 16 {EAX}; sF: 2),  {[1,1]} (rX: 17 {ECX}; sF: 2),
  621.     {[1,2]}  (rX: 18 {EDX}; sF: 2),  {[1,3]} (rX: 19 {EBX}; sF: 2),
  622.     {[1,4]}  (rX: 30 {};    sF: 0),  {[1,5]} (rX: 21 {EBP}; sF: 2),
  623.     {[1,6]}  (rX: 22 {ESI}; sF: 2),  {[1,7]} (rX: 23 {EDI}; sF: 2)),
  624.     {[2,0]} ((rX: 16 {EAX}; sF: 4),  {[2,1]} (rX: 17 {ECX}; sF: 4),
  625.     {[2,2]}  (rX: 18 {EDX}; sF: 4),  {[2,3]} (rX: 19 {EBX}; sF: 4),
  626.     {[2,4]}  (rX: 30 {};    sF: 0),  {[2,5]} (rX: 21 {EBP}; sF: 4),
  627.     {[2,6]}  (rX: 22 {ESI}; sF: 4),  {[2,7]} (rX: 23 {EDI}; sF: 4)),
  628.     {[3,0]} ((rX: 16 {EAX}; sF: 8),  {[3,1]} (rX: 17 {ECX}; sF: 8),
  629.     {[3,2]}  (rX: 18 {EDX}; sF: 8),  {[3,3]} (rX: 19 {EBX}; sF: 8),
  630.     {[3,4]}  (rX: 30 {};    sF: 0),  {[3,5]} (rX: 21 {EBP}; sF: 8),
  631.     {[3,6]}  (rX: 22 {ESI}; sF: 8),  {[3,7]} (rX: 23 {EDI}; sF: 8)));
  632.  
  633.     { -------------------------------------------- }    {.CP44}
  634.     { Control Tables for 80387 Instructions Follow }
  635.     { -------------------------------------------- }
  636.  
  637. { 387 EA table;    1st index = ESC group;
  638.         2nd index = REG field;
  639. }
  640.  
  641.    MpuEA :    ARRAY[0..7] OF
  642.         ARRAY[0..7] OF MpuVec = (  { used if mod <> 3 }
  643.  
  644.  
  645.     {[0,0]} ((F: $18;M: 03),    {[0,1]}  (F: $18;M: 44),
  646.     {[0,2]}  (F: $18;M: 09),    {[0,3]}  (F: $18;M: 10),
  647.     {[0,4]}  (F: $18;M: 64),    {[0,5]}  (F: $18;M: 66),
  648.     {[0,6]}  (F: $18;M: 15),    {[0,7]}  (F: $18;M: 17)),
  649.     {[1,0]} ((F: $18;M: 34),    {[1,1]}  (F: $00;M: 00),
  650.     {[1,2]}  (F: $18;M: 59),    {[1,3]}  (F: $18;M: 62),
  651.     {[1,4]}  (F: $13;M: 37),    {[1,5]}  (F: $14;M: 36),
  652.     {[1,6]}  (F: $13;M: 61),    {[1,7]}  (F: $14;M: 60)),
  653.     {[2,0]} ((F: $15;M: 21),    {[2,1]}  (F: $15;M: 27),
  654.     {[2,2]}  (F: $15;M: 22),    {[2,3]}  (F: $15;M: 23),
  655.     {[2,4]}  (F: $15;M: 32),    {[2,5]}  (F: $15;M: 33),
  656.     {[2,6]}  (F: $15;M: 24),    {[2,7]}  (F: $15;M: 25)),
  657.     {[3,0]} ((F: $15;M: 26),    {[3,1]}  (F: $00;M: 00),
  658.     {[3,2]}  (F: $15;M: 30),    {[3,3]}  (F: $15;M: 31),
  659.     {[3,4]}  (F: $00;M: 00),    {[3,5]}  (F: $1A;M: 34),
  660.     {[3,6]}  (F: $00;M: 00),    {[3,7]}  (F: $1A;M: 62)),
  661.     {[4,0]} ((F: $19;M: 03),    {[4,1]}  (F: $19;M: 44),
  662.     {[4,2]}  (F: $19;M: 09),    {[4,3]}  (F: $19;M: 10),
  663.     {[4,4]}  (F: $19;M: 64),    {[4,5]}  (F: $19;M: 66),
  664.     {[4,6]}  (F: $19;M: 15),    {[4,7]}  (F: $19;M: 17)),
  665.     {[5,0]} ((F: $19;M: 34),    {[5,1]}  (F: $00;M: 00),
  666.     {[5,2]}  (F: $19;M: 59),    {[5,3]}  (F: $19;M: 62),
  667.     {[5,4]}  (F: $13;M: 52),    {[5,5]}  (F: $00;M: 00),
  668.     {[5,6]}  (F: $13;M: 53),    {[5,7]}  (F: $14;M: 63)),
  669.     {[6,0]} ((F: $16;M: 21),    {[6,1]}  (F: $16;M: 27),
  670.     {[6,2]}  (F: $16;M: 22),    {[6,3]}  (F: $16;M: 23),
  671.     {[6,4]}  (F: $16;M: 32),    {[6,5]}  (F: $16;M: 33),
  672.     {[6,6]}  (F: $16;M: 24),    {[6,7]}  (F: $16;M: 25)),
  673.     {[7,0]} ((F: $16;M: 26),    {[7,1]}  (F: $00;M: 00),
  674.     {[7,2]}  (F: $16;M: 30),    {[7,3]}  (F: $16;M: 31),
  675.     {[7,4]}  (F: $12;M: 05),    {[7,5]}  (F: $17;M: 26),
  676.     {[7,6]}  (F: $12;M: 06),    {[7,7]}  (F: $17;M: 31)));
  677.  
  678.  
  679. { 387 mod=3 table part 1; use when mod field = 3 to access flags   }{.CP37}
  680.  
  681.    MpuM11 :    ARRAY[0..7] OF
  682.         ARRAY[0..7] OF MpuVec = ( {M: is index to MpuOv }
  683.  
  684.     {[0,0]} ((F: $1D; M: 01),    {[0,1]}  (F: $1D; M: 02),
  685.     {[0,2]}  (F: $1D; M: 03),    {[0,3]}  (F: $1D; M: 04),
  686.     {[0,4]}  (F: $1D; M: 05),    {[0,5]}  (F: $1D; M: 06),
  687.     {[0,6]}  (F: $1D; M: 07),    {[0,7]}  (F: $1D; M: 08)),
  688.     {[1,0]} ((F: $1B; M: 09),    {[1,1]}  (F: $1B; M: 10),
  689.     {[1,2]}  (F: $20; M: 11),    {[1,3]}  (F: $00; M: 00),
  690.     {[1,4]}  (F: $20; M: 12),    {[1,5]}  (F: $20; M: 13),
  691.     {[1,6]}  (F: $20; M: 14),    {[1,7]}  (F: $20; M: 15)),
  692.     {[2,0]} ((F: $00; M: 00),    {[2,1]}  (F: $00; M: 00),
  693.     {[2,2]}  (F: $00; M: 00),    {[2,3]}  (F: $00; M: 00),
  694.     {[2,4]}  (F: $00; M: 00),    {[2,5]}  (F: $20; M: 16),
  695.     {[2,6]}  (F: $00; M: 00),    {[2,7]}  (F: $00; M: 00)),
  696.     {[3,0]} ((F: $00; M: 00),    {[3,1]}  (F: $00; M: 00),
  697.     {[3,2]}  (F: $00; M: 00),    {[3,3]}  (F: $00; M: 00),
  698.     {[3,4]}  (F: $20; M: 17),    {[3,5]}  (F: $00; M: 00),
  699.     {[3,6]}  (F: $00; M: 00),    {[3,7]}  (F: $00; M: 00)),
  700.     {[4,0]} ((F: $1C; M: 18),    {[4,1]}  (F: $1C; M: 19),
  701.     {[4,2]}  (F: $1C; M: 20),    {[4,3]}  (F: $1C; M: 21),
  702.     {[4,4]}  (F: $1C; M: 22),    {[4,5]}  (F: $1C; M: 23),
  703.     {[4,6]}  (F: $1C; M: 24),    {[4,7]}  (F: $1C; M: 25)),
  704.     {[5,0]} ((F: $1B; M: 26),    {[5,1]}  (F: $00; M: 00),
  705.     {[5,2]}  (F: $1B; M: 27),    {[5,3]}  (F: $1B; M: 28),
  706.     {[5,4]}  (F: $1B; M: 29),    {[5,5]}  (F: $1B; M: 30),
  707.     {[5,6]}  (F: $00; M: 00),    {[5,7]}  (F: $00; M: 00)),
  708.     {[6,0]} ((F: $1C; M: 31),    {[6,1]}  (F: $1C; M: 32),
  709.     {[6,2]}  (F: $00; M: 00),    {[6,3]}  (F: $20; M: 33),
  710.     {[6,4]}  (F: $1C; M: 34),    {[6,5]}  (F: $1C; M: 35),
  711.     {[6,6]}  (F: $1C; M: 36),    {[6,7]}  (F: $1C; M: 37)),
  712.     {[7,0]} ((F: $00; M: 00),    {[7,1]}  (F: $00; M: 00),
  713.     {[7,2]}  (F: $00; M: 00),    {[7,3]}  (F: $00; M: 00),
  714.     {[7,4]}  (F: $21; M: 38),    {[7,5]}  (F: $00; M: 00),
  715.     {[7,6]}  (F: $00; M: 00),    {[7,7]}  (F: $00; M: 00)));
  716.  
  717. { 387 mod=3 table part 2; use when mod field = 3 to find mnemonic  }{.CP46}
  718.  
  719.    MpuOv :    ARRAY[01..38] OF
  720.         ARRAY[00..07] OF Byte = (
  721.  
  722.     {                   R/M Values
  723.                 (00,01,02,03,04,05,06,07)
  724.     esc,reg             -- -- -- -- -- -- -- --        }
  725.     {[0,0]-->link[01]}    (03,03,03,03,03,03,03,03), {FADD}
  726.     {[0,1]-->link[02]}    (44,44,44,44,44,44,44,44), {FMUL}
  727.     {[0,2]-->link[03]}    (09,09,09,09,09,09,09,09), {FCOM}
  728.     {[0,3]-->link[04]}    (10,10,10,10,10,10,10,10), {FCOMP}
  729.     {[0,4]-->link[05]}    (64,64,64,64,64,64,64,64), {FSUB}
  730.     {[0,5]-->link[06]}    (66,66,66,66,66,66,66,66), {FSUBR}
  731.     {[0,6]-->link[07]}    (15,15,15,15,15,15,15,15), {FDIV}
  732.     {[0,7]-->link[08]}    (17,17,17,17,17,17,17,17), {FDIVR}
  733.     {[1,0]-->link[09]}    (34,34,34,34,34,34,34,34), {FLD}
  734.     {[1,1]-->link[10]}    (73,73,73,73,73,73,73,73), {FXCH}
  735.     {[1,2]-->link[11]}    (46,00,00,00,00,00,00,00), {FNOP,err..}
  736.     {[1,4]-->link[12]}    (07,02,00,00,68,72,00,00), {FCHS..FXAM}
  737.     {[1,5]-->link[13]}    (35,40,39,42,38,41,43,00), {FLD1..FLDZ}
  738.     {[1,6]-->link[14]}    (01,75,50,47,74,49,13,28), {F2XM1..FINCSTP}
  739.     {[1,7]-->link[15]}    (48,76,58,57,51,54,56,12), {FPREM..FCOS}
  740.     {[2,5]-->link[16]}    (00,71,00,00,00,00,00,00), {FUCOMPP}
  741.     {[3,4]-->link[17]}    (19,14,08,29,55,00,00,00), {FENI..FSETPM}
  742.     {[4,0]-->link[18]}    (03,03,03,03,03,03,03,03), {FADD}
  743.     {[4,1]-->link[19]}    (44,44,44,44,44,44,44,44), {FMUL}
  744.     {[4,2]-->link[20]}    (09,09,09,09,09,09,09,09), {FCOM}
  745.     {[4,3]-->link[21]}    (10,10,10,10,10,10,10,10), {FCOMP}
  746.     {[4,4]-->link[22]}    (64,64,64,64,64,64,64,64), {FSUB}
  747.     {[4,5]-->link[23]}    (66,66,66,66,66,66,66,66), {FSUBR}
  748.     {[4,6]-->link[24]}    (15,15,15,15,15,15,15,15), {FDIV}
  749.     {[4,7]-->link[25]}    (17,17,17,17,17,17,17,17), {FDIVR}
  750.     {[5,0]-->link[26]}    (20,20,20,20,20,20,20,20), {FFREE}
  751.     {[5,2]-->link[27]}    (59,59,59,59,59,59,59,59), {FST}
  752.     {[5,3]-->link[28]}    (62,62,62,62,62,62,62,62), {FSTP}
  753.     {[5,4]-->link[29]}    (69,69,69,69,69,69,69,69), {FUCOM}
  754.     {[5,5]-->link[30]}    (70,70,70,70,70,70,70,70), {FUCOMP}
  755.     {[6,0]-->link[31]}    (04,04,04,04,04,04,04,04), {FADDP}
  756.     {[6,1]-->link[32]}    (45,45,45,45,45,45,45,45), {FMULP}
  757.     {[6,3]-->link[33]}    (00,11,00,00,00,00,00,00), {FCOMPP}
  758.     {[6,4]-->link[34]}    (65,65,65,65,65,65,65,65), {FSUBP}
  759.     {[6,5]-->link[35]}    (67,67,67,67,67,67,67,67), {FSUBRP}
  760.     {[6,6]-->link[36]}    (16,16,16,16,16,16,16,16), {FDIVP}
  761.     {[6,7]-->link[37]}    (18,18,18,18,18,18,18,18), {FDIVRP}
  762.     {[7,4]-->link[38]}    (63,00,00,00,00,00,00,00));{FSTSW}
  763.